using System;
using System.Collections.Generic;
using System.Diagnostics;

namespace InfiniTec.Expressions
{
    public abstract class OperatorExpression: Expression
    {
        private readonly List<Expression> _Expressions;

        public IList<Expression> Expressions
        {
            [DebuggerStepThrough]
            get { return _Expressions; }
        }

        protected OperatorExpression(IEnumerable<Expression> expressions)
        {
            _Expressions = new List<Expression>();

            if (expressions == null) throw new ArgumentNullException("expressions");

            _Expressions.AddRange(expressions);
        }
    }
}
